What is R Markdown? from RStudio, Inc. on Vimeo.
inside R
markdown::markdownToHTML('markdown_example.md',
'markdown_example.html')
command line
R -e "markdown::markdownToHTML('markdown_example.md',
'markdown_example.html')"
command line
export PATH=$PATH:/Applications/RStudio.app/Contents/MacOS/pandoc
R -e "rmarkdown::render('markdown_example.md')"
chunk içinde R kodlarını çalıştırma{r, results='asis'}
iris %>%
tibble::as_tibble() %>%
details::details(summary = 'tibble')
R kodlarını çalıştırma{r global_options, include=FALSE}
knitr::opts_chunk$set(fig.width = 12,
fig.height = 8,
fig.path = 'Figs/',
echo = FALSE,
warning = FALSE,
message = FALSE,
error = FALSE,
eval = TRUE,
tidy = TRUE,
comment = NA)
{r}
data("cancer")
cancer
foreign::write.foreign(df = cancer,
datafile = "data/cancer.sav",
codefile = "data/cancer.spo",
package = "SPSS"
)
{r}
suppressPackageStartupMessages(library("tidyverse"))
suppressPackageStartupMessages(library("survival"))
{tidyverse} {tidylog}
{lubridate} {janitor}
{readxl} {foreign}
{summarytools} {ggstatsplot} {tangram} {finalfit} {psycho} {jmv}
{survival} {survminer}
{report} {kableExtra}
{r}
View(mydata)
glimpse(mydata)
{r}
mydata <- janitor::clean_names(mydata)
{r}
mydata$sontarih <- janitor::excel_numeric_to_date(
as.numeric(mydata$olum_tarihi)
)
{r}
mydata$Outcome <- "Dead"
mydata$Outcome[mydata$olum_tarihi == "yok"] <- "Alive"
{r}
## Recoding mydata$cinsiyet into mydata$Cinsiyet
mydata$Cinsiyet <- recode(mydata$cinsiyet,
"K" = "Kadin",
"E" = "Erkek")
mydata$Cinsiyet <- factor(mydata$Cinsiyet)
{r recode TNM stage}
#pT2N0Mx -> 2
mydata$Tstage <- stringr::str_match(
mydata$patolojik_evre,
paste('(.+)', "N", sep=''))[,2]
)
{r recode TNM2}
mydata <- mydata %>%
mutate(
T_stage = case_when(
grepl(pattern = "T1", x = .$Tstage) == TRUE ~ "T1",
grepl(pattern = "T2", x = .$Tstage) == TRUE ~ "T2",
grepl(pattern = "T3", x = .$Tstage) == TRUE ~ "T3",
grepl(pattern = "T4", x = .$Tstage) == TRUE ~ "T4",
TRUE ~ "Tx"
)
)
{r}
mydata <- mydata %>%
mutate(
TumorPDL1gr1 = case_when(
t_pdl1 < 1 ~ "kucuk1",
t_pdl1 >= 1 ~ "buyukesit1"
)
)
{r}
library(summarytools)
view(dfSummary(colon_s))
A beginner kit for #rstats The Landscape of R Packages for Automated Exploratory Data Analysis https://journal.r-project.org/archive/2019/RJ-2019-033/
@article{RJ-2019-033, author = {Mateusz Staniak and Przemysław Biecek}, title = {{The Landscape of R Packages for Automated Exploratory Data Analysis}}, year = {2019}, journal = {{The R Journal}}, doi = {10.32614/RJ-2019-033}, url = {https://journal.r-project.org/archive/2019/RJ-2019-033/index.html} }
{r, results='asis'}
# cat(names(mydata), sep = " + \n")
library(arsenal)
tab1 <- tableby(~ Cinsiyet +
Yas +
TumorYerlesimi
,
data = mydata)
summary(tab1)
tangram: The Grammar of Tables
Easily generate information-rich, publication-quality tables from R
{r}
mydata %>%
janitor::tabyl(Categorical) %>%
adorn_pct_formatting(rounding = 'half up',
digits = 1) %>%
knitr::kable()
{r crosstable}
mydata %>%
summary_factorlist(dependent = dependent,
explanatory = explanatory,
total_col = TRUE,
p = TRUE,
add_dependent_label = TRUE) -> table
knitr::kable(table, row.names = FALSE, align = c('l', 'l', 'r', 'r', 'r'))
{r ggstatplot, layout='l-page'}
mydata %>%
ggstatsplot::ggbarstats(data = .,
main = Categorical_variable,
condition = dependent_variable
)
{r}
mydata %>%
jmv::descriptives(
data = .,
vars = c(yas),
hist = TRUE,
dens = TRUE,
box = TRUE,
violin = TRUE,
dot = TRUE,
mode = TRUE,
sd = TRUE,
variance = TRUE,
skew = TRUE,
kurt = TRUE,
quart = TRUE)
{r crosstable}
library(finalfit)
mydata %>%
summary_factorlist(dependent = dependent,
explanatory = explanatory,
column = TRUE,
total_col = TRUE,
p = TRUE,
add_dependent_label = TRUE,
na_include=FALSE
# catTest = catTestfisher
) -> table
knitr::kable(table,
row.names = FALSE,
align = c('l', 'l', 'r', 'r', 'r'))
{r define survival time}
mydata$int <- lubridate::interval(
lubridate::ymd(mydata$CerrahiTarih),
lubridate::ymd(mydata$SonTarih)
)
mydata$OverallTime <- lubridate::time_length(mydata$int, "month")
mydata$OverallTime <- round(mydata$OverallTime, digits = 1)
{r}
## Recoding mydata$Outcome into mydata$Outcome2
mydata$Outcome2 <- recode(mydata$Outcome,
"Alive" = "0",
"Dead" = "1")
mydata$Outcome2 <- as.numeric(mydata$Outcome2)
{r Kaplan-Meier}
mydata %>%
finalfit::surv_plot(dependent,
explanatory,
xlab='Time (months)',
pval=TRUE,
legend = 'none',
break.time.by = 12,
xlim = c(0,60),
legend.labs = c('a','b')
)
{r}
km_fit <- survfit(dependent ~ explanatory,
data = mydata)
km_fit
{r, eval=FALSE, include=FALSE}
library(survival)
km <- with(mydata, Surv(OverallTime, Outcome2))
# head(km,80)
# plot(km)
{r 1-3-5-yr}
summary(km_fit, times = c(12,36,60))
{r}
survminer::pairwise_survdiff(formula = Surv(time, Outcome) ~ Group,
data = mydata,
p.adjust.method = "BH")
{r Multivariate Analysis, eval=FALSE, include=FALSE}
library(finalfit)
library(survival)
explanatoryMultivariate <- explanatoryKM
dependentMultivariate <- dependentKM
mydata %>%
finalfit(dependentMultivariate, explanatoryMultivariate) -> tMultivariate
knitr::kable(tMultivariate, row.names=FALSE, align=c("l", "l", "r", "r", "r", "r"))
Docker Containers for the R Environment
docker run --rm -ti rocker/r-base
Or get started with an RStudio® instance:
docker run -e PASSWORD=yourpassword --rm -p 8787:8787 rocker/rstudio
and point your browser to localhost:8787 Log in with user/password rstudio/yourpassword
: scale 30%
{r load library}
source(file = here::here("R", "loadLibrary.R"))
{r}
saved data after analysis to `mydata.xlsx`.
save.image(file = here::here("data", "mydata_work_space.RData"))
readr::write_rds(x = mydata, path = here::here("data", "mydata_afteranalysis.rds"))
saveRDS(object = mydata, file = here::here("data", "mydata.rds"))
writexl::write_xlsx(mydata, here::here("data", "mydata.xlsx"))
paste0(rownames(file.info(here::here("data", "mydata.xlsx"))), " : ", file.info(here::here("data", "mydata.xlsx"))$ctime)
{r github push}
CommitMessage <- paste("updated on ", Sys.time(), sep = "")
wd <- getwd()
gitCommand <- paste("cd ",
wd,
" \n git add . \n git commit --message '",
CommitMessage,
"' \n git push origin master \n",
sep = ""
)
system(command = gitCommand,
intern = TRUE
)
CommitMessage <- paste("updated on ", Sys.time(), sep = "")
wd <- getwd()
gitCommand <- paste("cd ",
wd,
" \n git add . \n git commit --message '",
CommitMessage,
"' \n git push origin master \n",
sep = ""
)
system(command = gitCommand,
intern = TRUE
)To https://github.com/sbalci/MyRCodesForDataAnalysis.git
cb7fc4b..b5a8642 master -> master
[1] "[master b5a8642] updated on 2019-10-01 21:12:12"
[2] " 2 files changed, 15 insertions(+), 5 deletions(-)"
{r}
citation()
{r library citations}
citation("tidyverse")
citation("readxl")
citation("janitor")
citation("report")
citation("finalfit")
citation("ggstatplot")
The jamovi project (2019). jamovi. (Version 0.9) [Computer Software]. Retrieved from https://www.jamovi.org.
R Core Team (2018). R: A Language and envionment for statistical computing. [Computer software]. Retrieved from https://cran.r-project.org/.
Fox, J., & Weisberg, S. (2018). car: Companion to Applied Regression. [R package]. Retrieved from https://cran.r-project.org/package=car.
{r session info, echo=TRUE}
sessionInfo()
https://sbalci.github.io/MyRCodesForDataAnalysis/R-Markdown.nb.html https://sbalci.github.io/MyRCodesForDataAnalysis/R-Markdown.html
https://forms.gle/UqGJBiAjB8uLPRon8
Completed on 2019-10-18.
Serdar Balci, MD, Pathologist
drserdarbalci@gmail.com
https://rpubs.com/sbalci/CV
https://sbalci.github.io/
https://github.com/sbalci
https://twitter.com/serdarbalci
https://andrewbtran.github.io/NICAR/2018/workflow/docs/02-rmarkdown.html
https://smithcollege-sds.github.io/sds-public/rmarkdown_problems.html
http://kbroman.org/knitr_knutshell/pages/Rmarkdown.html
https://kbroman.org/knitr_knutshell/pages/overview.html
https://kbroman.org/knitr_knutshell/pages/Rmarkdown.html
https://kbroman.org/knitr_knutshell/pages/markdown.html
csv {headers: true, title: "**Drawing Tables In Markdown**"}
Name, Surname, Known As, Age
Marcelo, David, coldzera, 22
Oleksandr, Kostyliev, s1mple, 19
Nikola, Kovač, NiKo, 20
Richard, Papillon, shox, 25
Nicolai, Reedtz, dev1ce, 21
{pgn}
[Event "Bled-Zagreb-Belgrade Candidates"]
[Site "Bled, Zagreb & Belgrade YUG"]
[Date "1959.10.11"]
[Round "20"]
[Result "1-0"]
[White "Mikhail Tal"]
[Black "Robert James Fischer"]
1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5.
Be2 O-O 6. Nf3 e5 7. d5 Nbd7 8. Bg5 h6 9.
Bh4 a6 10. O-O Qe8 11. Nd2 Nh7 12. b4 Bf6
13. Bxf6 Nhxf6 14. Nb3 Qe7 15. Qd2 Kh7 16.
Qe3 Ng8 17. c5 f5 18. exf5 gxf5 19. f4 exf4
20. Qxf4 dxc5 21. Bd3 cxb4 22. Rae1 Qf6 23.
Re6 Qxc3 24. Bxf5+ Rxf5 25. Qxf5+ Kh8 26.
Rf3 Qb2 27. Re8 Nf6 28. Qxf6+ Qxf6 29. Rxf6
Kg7 30. Rff8 Ne7 31. Na5 h5 32. h4 Rb8 33.
Nc4 b5 34. Ne5 1-0
https://ras44.github.io/blog/2019/01/19/keeping-credentials-secret-with-keyrings-in-r.html
http://www.storybench.org/how-to-build-a-website-with-blogdown-in-r/
Bu bir derlemedir, mümkün mertebe alıntılara linklerle referans vermeye çalıştım.↩︎